System and method for organizing two and three dimensional image data

ABSTRACT

A method and system are disclosed for storing, retrieving and otherwise handling two and/or three dimensional image data forming a picture or image. The picture is defined by a plurality of levels, each level including a plurality of subpicture areas corresponding to a different level of image data resolution relative to image data resolution levels corresponding to subpicture areas in other levels. The method and system include selecting a subpicture element having image data for inclusion in the picture and identifying a subpicture area in which the subpicture element may be placed. The method and system further include placing the image data of the subpicture element in the identified subpicture area. Upon a determination that the amount of image data in the identified subpicture area exceeds a predetermined maximum amount following the placing operation, the system and method identify overlapping subpicture areas in a level corresponding to the next higher image data resolution level that overlaps the identified subpicture area. Following the identifying operation, the system and method place image data of one or more subpicture elements from the identified subpicture area into at least one of the overlapping subpicture areas.

BACKGROUND OF THE INVENTION

[0001] 1. Technical Field of the Invention

[0002] The present invention relates to handling graphic data, and particularly to a system and method for handling two and three dimensional data forming a picture image.

[0003] 2. Description of the Related Art

[0004] Computer based control systems are known to present a visual display of an activity that is thereupon used to monitor or control that activity. Graphical pictures or images are commonly used to form a model of an activity or process. Traditionally, computer based control systems use two dimensional models. Due to an increased need for providing a model having additional information so as to provide better control over a process, a two dimensional model is, in many instances, insufficient.

[0005] In organizing and presenting a visual display of a picture, some prior and existing control systems have divided a picture image into a plurality of subpictures. One problem encountered is that the amount of data within the subpictures forming a picture image may vary considerably. Because system resources are taxed simply by loading and handling a subpicture for inclusion within a picture to be visually displayed, subpictures having both large and small amounts of data may adversely effect the overall performance of the control system. Based upon the foregoing, there is a need for more efficiently storing, retrieving and otherwise handling image data forming a picture.

SUMMARY OF THE INVENTION

[0006] The present invention overcomes the shortcomings in prior systems and thereby satisfies a significant need for a graphics system and method that more effectively organizes or otherwise handles data forming a two or three dimensional picture or image. According to an embodiment of the present invention, the picture is divided into a number of subpictures, wherein subpictures having different resolutions are placed in different levels that are stacked in relation to each other. The picture is defined by a plurality of levels, each level including a plurality of subpicture areas corresponding to a different level of image data resolution relative to image data resolution levels corresponding to subpicture areas in other levels. The method and system include selecting a subpicture element having image data for inclusion in the picture image and identifying a subpicture area in which the subpicture element may be placed, the identified subpicture area being in the lowest possible level of the picture image. The method and system further include placing the image data of the subpicture element in the identified subpicture area. Upon a determination that the amount of image data in the identified subpicture area exceeds a predetermined maximum amount following the placing operation, the system and method identify overlapping subpicture areas in a level corresponding to the next higher image data resolution level that overlaps the identified subpicture area. Following the identifying operation, the system and method place image data of one or more subpicture elements from the identified subpicture into at least one of the overlapping subpicture areas. By incorporating or otherwise adding a picture element into a picture structure in this manner, subpictures are better grouped for transport and storage within the system.

BRIEF DESCRIPTION OF THE DRAWINGS

[0007] A more complete understanding of the system and method of the present invention may be obtained by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein:

[0008]FIG. 1 is a block diagram of a graphics system in accordance with an embodiment of the present invention;

[0009]FIG. 2 is a diagram illustrating the basic structure of a picture utilized by the graphics system of FIG. 1;

[0010] FIGS. 3 is a flow chart illustrating an operation of the graphics system of FIG. 1;

[0011]FIG. 4 is another flow chart illustrating another operation of the graphics system of FIG. 1; and

[0012]FIG. 5 is a portion of an alternative flow chart illustrating an alternative operation of the graphics system of FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EXEMPLARY EMBODIMENTS

[0013] The present invention will now be described more fully hereinafter with reference to the accompanying drawings in which a preferred embodiment of the invention is shown. This invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiment set forth herein. Rather, the embodiment is provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

[0014] Referring to FIG. 1, there is shown a graphics system 1 for displaying or otherwise handling two or three dimensional data. For reasons of simplicity and in accordance with an embodiment of the present invention, graphics system 1 will be described as part of an industrial or process control system. In such a system, graphical picture images are generated to provide a model, such as a geographical or schematic model of the process being controlled. It is understood, however, that graphics system 1 may be other types of systems for handling and displaying graphical data.

[0015] According to the disclosed embodiment of the present invention, graphics system 1 includes a processor 2 that is capable of performing a number of operations for retrieving and processing graphics information. For example, processor 2 may be a microprocessor commonly found in a personal computer.

[0016] Graphics system 1 further includes memory 3 coupled to processor 2 and having stored therein software code for allowing processor 2 to, among other operations, receive and process graphics data for visual display. Memory 3 may be further capable of storing the graphics data. Graphics system 1 may further include a secondary memory device (not shown). The software code instructions stored in memory 3 and the operations performed by processor 2 will be described in greater detail below.

[0017] Graphics system 1 further includes a display device 4 coupled to processor 2 for displaying graphics data. The graphics data may be two or three dimensional data. It is understood that graphics system 1 includes user controls for, among other things, controlling the image of graphics information.

[0018] In general terms, graphics system 1 organizes graphics data forming a picture image so as to substantially optimize graphics data retrieved from memory 3 for presentation on display device 4. Graphics system 1 divides the graphics data forming a picture image into a plurality of subpictures. The subpicture grids are disposed onto a plurality of levels of differing resolution levels that are arranged in a stacked relationship. By placing image data within these subpictures in accordance with a predetermined algorithm, each subpicture is sized within a predetermined size range so as to substantially minimize the amount of data transported between processor 2, memory 3 and display device 4.

[0019] At this point, image related terms will be defined with reference to FIG. 2. A “picture image” and/or “picture” 20 is defined as an independent set of related coordinate based image data that provides a model of a dynamic process, such as a process being controlled in part by graphics system 1. An “extent” refers to a dataset position in coordinate space having a coordinate position and a size or dimension in coordinate directions surrounding or otherwise in proximity to the coordinate position. An “element” is defined as a set of image data belonging to a picture image 20 having a common extent and lacking any other reference to other parts of picture image 20. A “subpicture” 21 refers to a portion of picture image 20 and is itself a picture limited to elements from a portion of the coordinate space encompassed by picture 20. A subpicture 21 may be classified as being 1) “uninstantiated” when no data structures for the subpicture exist; 2) “instantiated” when a data structure of the subpicture 21 exists; and 3) “loaded” when an instantiated data structure for subpicture 21 and elements are transferred from secondary memory to memory 3.

[0020] In addition, a subpicture 21 has “overflowed” when the amount of image data therein exceeds a predetermined maximum amount. For example, the predetermined maximum amount may be 1000 elements. A subpicture 21 is uninstantiated if the amount of image data therein is less than a predetermined minimum amount. For example, the predetermined minimum amount may be ten elements.

[0021] A “level” 22 (FIG. 2) is defined as a set of subpictures 21 having an amount of image data resolution that is different from the amount of image data resolution at other levels. All subpictures 21 in the level 22 together cover the entire coordinate space of picture image 20 and do not overlap. Each level 22 has a unique characteristic that may be utilized together extent to distribute elements among the subpictures 21. For example, a characteristic of a level 22 may be a zoom level or z-coordinate.

[0022] Further, a “picture scheme” is a complete organizational description of all subpictures 21 forming a picture 20. A picture scheme is “exhausted” when the subpicture structure of the picture scheme overflows with elements of image data.

[0023] An element “fits” within a subpicture 21 if the element's extent is substantially entirely within the extent of the subpicture 21. The level definition of an element is consistent with the level characteristics of the corresponding level 22.

[0024] The described embodiment of the present invention is directed towards organizing or otherwise handling image data so as to substantially optimize the storage and transport of the image data between processor 2, memory 3 and display device 4. In particular, the handling of an element corresponding to a picture will be described with reference to FIGS. 3 and 4.

[0025] Initially, graphics system 1 defines or is provided with a picture scheme at step 31 for handling image data for forming a picture 2. In this case, the picture scheme defines picture 20 as having four levels 22A-22D of subpictures 21, as shown in FIG. 2. The picture scheme defines the uppermost level 22A as having a single subpicture 21 with a low level of resolution, with each level below level 22A having an increasing number of subpictures and a higher level of resolution.

[0026] Upon receiving an element corresponding to picture 20 at step 32, processor 2 identifies at step 33 a subpicture 21 in the lowest most level 22 in which the received element may fit. The identified subpicture 21 is loaded if the identified subpicture 21 has not yet been loaded. The received element is then placed in the identified subpicture 21 at step 34.

[0027] At this point, graphics system 1 operates to divide the image data amongst the subpictures 21 so as to improve data transport within graphics system 1. If the number of elements now within identified subpicture 21 is less than the predetermined maximum amount, the inclusion of the received element into and/or within picture 20 is complete. On the other hand, if the number of elements now within identified subpicture 21 exceeds the predetermined maximum amount, graphics system 1 then determines at step 35 whether the identified subpicture 21 is at the lowest level 22 of picture 20. Upon the determination that the identified subpicture 21 is at the lowest level 22 of picture 20, the picture scheme is exhausted and a routine for redefining the picture scheme is initiated at step 36. This routine will be described in detail below. Upon the determination that the identified subpicture 21 is not at the lowest most level 22, graphics system 1 identifies at step 37 all of the overlapping subpictures 21 in the next lower level 22 having extents which overlap extents of the identified subpicture 21. If no such overlapping subpictures 21 are identified, the routine for redefining the picture scheme is initiated. Otherwise, graphics system 1 then sorts at step 38 the overlapping subpictures 21 in a list of overlapping subpictures in descending order of the number of elements that the overlapping subpictures 21 may receive from the identified subpicture 21, with respect to extent and level.

[0028] Thereafter, graphics system 1 examines each overlapping subpicture 21 sequentially, starting with the overlapping subpicture 21 at the top of the list and examining each overlapping subpicture 21 in descending order. For each overlapping subpicture 21 examined, graphics system 1 first determines at step 40 whether the corresponding number of overlapping elements that the overlapping subpicture 21 may receive from the identified subpicture 21 is greater than the predetermined minimum number of elements. If not, the picture scheme is exhausted and the routine for redefining the picture scheme is initiated. Otherwise, the examined overlapping subpicture 21 is added to a “subpicture to instantiate” list at step 41. A determination is made at step 42 whether the number of elements that would remain in the identified subpicture 21 less the corresponding number of overlapping elements is less than the predetermined maximum amount of elements in a subpicture. If the number of remaining elements still exceeds the predetermined maximum amount, then the next overlapping subpicture 21 in the list is examined and steps 40-41 repeated therefor. If there are no more overlapping subpictures 21 in the list, picture scheme is exhausted and the routine for redefining the picture scheme is initiated.

[0029] If the number of remaining elements is less than the predetermined maximum amount of elements, graphics system 1 sequentially removes each overlapping subpicture 21 from the “subpicture to instantiate” list and instantiates each at step 43. For each instantiated overlapping subpicture 21, graphic system 1 identifies all of the instantiated subpictures 21 appearing on the next higher level 22 having an extent that overlaps the instantiated overlapping subpicture 21 at step 44, moves all elements from the identified instantiated subpictures 21 from step 44 into the instantiated overlapping subpicture 21 at step 45, and returns to step 35 if the number of elements in the particular instantiated overlapping subpicture 21 exceeds the predetermined maximum amount of elements. When steps 44 and 45 have been performed for all of the overlapping subpictures 21 in the “subpicture to instantiate” list, the incorporation of the received element into picture 20 is complete.

[0030] The routine for redefining the picture scheme, executed upon a determination that the picture scheme is exhausted, will be described with reference to FIG. 4. The “subpictures to instantiate” list and the “overlapping subpicture” list are cleared at step 50. Next, graphics system 1 loads in step 51 all of the instantiated subpictures 21 in picture 20 that have not yet been instantiated. All of the elements from the instantiated subpictures 21 are extracted and added to a “total” list in step 52. Picture 20 and the corresponding picture scheme are then deleted in step 53. A new picture 20 and picture scheme are then received and instantiated together with the uninstantiated subpictures 21 at step 54. The elements appearing in the “total” list are then successively added to the new picture 20 using the operation illustrated in FIG. 3. Thereafter, the received element (step 32) has been successively incorporated within picture 20 and particularly within a particular subpicture 21 of picture 20.

[0031] As can be seen, the operation shown in FIG. 3 results in the same distribution of elements within picture 20 regardless of the order in which the elements are incorporated in picture 20. Instead of steps 38-45, an alternative embodiment may include the steps of determining the number of elements each overlapping subpicture 21 may receive from the identified subpicture 21 at step 60 with respect to extent and level (FIG. 6), and instantiating each overlapping subpicture 21 having the most receivable elements at step 61. In the event the number of elements corresponding to the overlapping subpicture 2 capable of receiving the greatest number of elements is not greater than the predetermined minimum number of elements, the picture scheme is exhausted and the routine of FIG. 4 is performed. If not, the elements from the identified subpicture 21 that fit within the instantiated, overlapping subpicture 2 of step 61 that fit therein at step 62. Steps 61 and 62 are repeated for each overlapping substructure 21.

[0032] The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims. 

What is claimed is:
 1. A method of organizing image data forming a picture image defined by a plurality of levels, each level including a plurality of subpicture areas corresponding to a different level of image data resolution relative to image data resolution levels corresponding to subpicture areas in other levels, the method comprising: receiving a subpicture element having image data for inclusion in the picture image; identifying a subpicture area in which the subpicture element may be placed, the identified subpicture area being in the lowest possible level of the picture image; placing the image data of the subpicture element in the identified subpicture area; upon a determination that the amount of image data in the identified subpicture area exceeds a predetermined maximum amount following the step of placing, identifying overlapping subpicture areas in a level corresponding to the next higher image data resolution level that overlaps the identified subpicture area; and following the step of identifying, placing image data of one or more subpicture elements from the identified subpicture area into at least one of the overlapping subpicture areas from subpicture.
 2. The method of claim 1, further comprising: repeating the steps of selecting a subpicture element, identifying a subpicture area, placing the image data, identifying overlapping subpicture areas and placing one or more subpicture elements for a new subpicture element.
 3. The method of claim 1, further comprising: upon a determination that the amount of image data in the identified subpicture area exceeds a predetermined maximum amount following the step of placing and that the identified subpicture area is in a level corresponding to a highest image data resolution level, redefining the subpicture areas of the picture image.
 4. The method of claim 1, further comprising: upon a determination that the number of overlapping subpicture areas is zero, redefining the subpicture areas of the picture image.
 5. The method of claim 1, further comprising: upon a determination that the amount of image data in the identified subpicture area exceeds the predetermined maximum following the step of placing image data of one or more subpicture elements, redefining the subpicture areas of the picture image.
 6. The method of claim 1, wherein: the at least one of the overlapping subpicture areas comprise the overlapping subpicture areas that are capable of receiving image data from the identified subpicture area so that the amount of image data in the identified subpicture area is less than the predetermined maximum amount.
 7. The method of claim 1, further comprising: selectively redefining the subpicture areas of the picture image.
 8. The method of claim 7, further comprising: initially receiving a picture scheme for the picture image defining the subpicture areas within the levels; wherein the step of selectively redefining comprises: extracting placed subpicture elements; receiving a new picture scheme for a new picture image; and repeating the steps of selecting a subpicture element, identifying a subpicture area, placing the image data, identifying overlapping subpicture areas and placing one or more subpicture elements for each of the extracted subpicture elements.
 9. The method of claim 1, further comprising: identifying the overlapping subpicture area capable of receiving the greatest amount of image data from the identified subpicture area; and upon a determination that the amount of image data in the identified subpicture area less the greatest amount of image data exceeds a predetermined minimum amount following the step of placing, redefining the subpicture areas of the picture image.
 10. The method of claim 1, wherein: following the step of identifying overlapping subpicture areas, placing image data of one or more subpicture elements into the at least one subpicture area from one or more subpicture areas that overlap the at least one subpicture area in a next level corresponding to a lower image data resolution level.
 11. A computer software product for a graphics display system that organizes image data forming a picture image defined by a plurality of levels, each level including a plurality of subpicture areas corresponding to a different level of image data resolution relative to image data resolution levels corresponding to subpicture areas in other levels, the computer software product including instructions for: receiving a subpicture element having image data for inclusion in the picture image; identifying a subpicture area in which the subpicture element may be placed, the identified subpicture area being in the lowest possible level of the picture image; placing the image data of the subpicture element in the identified subpicture area; upon a determination that the amount of image data in the identified subpicture area exceeds a predetermined maximum amount following the instruction for placing, identifying overlapping subpicture areas in a level corresponding to the next higher image data resolution level that overlaps the identified subpicture area; and following the instruction for identifying, placing image data of one or more subpicture elements from the identified subpicture area into at least one of the overlapping subpicture areas.
 12. The computer software product of claim 11, further comprising an instruction for: repeating the instructions of selecting a subpicture element, identifying a subpicture area, placing the image data, identifying overlapping subpicture areas and placing one or more subpicture elements for a new subpicture element.
 13. The computer software product of claim 11, further comprising an instruction for: upon a determination that the amount of image data in the identified subpicture area exceeds a predetermined maximum amount following the instruction for placing and that the identified subpicture area is in a level corresponding to a highest image data resolution level, redefining the subpicture areas of the picture image.
 14. The computer software product of claim 11, further comprising an instruction for: upon a determination that the number of overlapping subpicture areas is zero, redefining the subpicture areas of the picture image.
 15. The computer software product of claim 11, further comprising an instruction for: upon a determination that the amount of image data in the identified subpicture area exceeds the predetermined maximum following the instruction for placing image data of one or more subpicture elements, redefining the subpicture areas of the picture image.
 16. The computer software product of claim 11, wherein: the at least one of the overlapping subpicture areas comprise the overlapping subpicture areas that are capable of receiving image data from the identified subpicture area so that the amount of image data in the identified subpicture area is less than the predetermined maximum amount.
 17. The computer software product of claim 11, further comprising an instruction for: selectively redefining the subpicture areas of the picture image.
 18. The computer software product of claim 17, further comprising an instruction for: initially receiving a picture scheme for the picture image defining the subpicture areas within the levels; wherein the instruction for selectively redefining comprises: extracting placed subpicture elements; receiving a new picture scheme for a new picture image; and repeating the instructions of selecting a subpicture element, identifying a subpicture area, placing the image data, identifying overlapping subpicture areas and placing one or more subpicture elements for each of the extracted subpicture elements.
 19. The computer software product of claim 11, further comprising an instruction for: identifying the overlapping subpicture area capable of receiving the greatest amount of image data from the identified subpicture area; and upon a determination that the amount of image data in the identified subpicture area less the greatest amount of image data following the instruction for placing exceeds a predetermined minimum amount, redefining the subpicture areas of the picture image.
 20. The computer software product of claim 11, wherein: image data in each subpicture area is individually transportable between memory in the graphics display system and display monitor device therein.
 21. A graphics display system for organizing image data forming a picture image defined by a plurality of levels, each level including a plurality of subpicture areas corresponding to a different level of image data resolution relative to image data resolution levels corresponding to subpicture areas in other levels, comprising: a processor; and a memory device having computer software code stored therein, the processor and the memory device being capable of: identifying a subpicture element having image data for inclusion in the picture image; identifying a subpicture area in which the subpicture element may be placed, the identified subpicture area being in the lowest possible level of the picture image; placing the image data of the subpicture element in the identified subpicture area; upon a determination that the amount of image data in the identified subpicture area exceeds a predetermined maximum amount following the placing, identifying overlapping subpicture areas in a level corresponding to the next higher image data resolution level that overlaps the identified subpicture area; and following the identifying, placing image data of one or more subpicture elements from the identified subpicture area into at least one of the overlapping subpicture areas.
 22. The graphics display system of claim 21, wherein the processor and memory device being further capable of: repeating the selecting a subpicture element, identifying a subpicture area, placing the image data, identifying overlapping subpicture areas and placing one or more subpicture elements for a new subpicture element.
 23. The graphics display system of claim 21, wherein the processor and memory device being further operable for: upon a determination that the amount of image data in the identified subpicture area exceeds a predetermined maximum amount following the placing and that the identified subpicture area is in a level corresponding to a highest image data resolution level, redefining the subpicture areas of the picture image.
 24. The graphics display system of claim 21, wherein the processor and memory device being further operable for: upon a determination that the number of overlapping subpicture areas is zero, redefining the subpicture areas of the picture image.
 25. The graphics display system of claim 21, wherein the processor and memory device being further operable for: upon a determination that the amount of image data in the identified subpicture area exceeds the predetermined maximum following the placing of image data of one or more subpicture elements, redefining the subpicture areas of the picture image.
 26. The graphics display system of claim 21, wherein: the at least one of the overlapping subpicture areas comprise the overlapping subpicture areas that are capable of receiving image data from the identified subpicture area so that the amount of image data in the identified subpicture area is less than the predetermined maximum amount.
 27. The graphics display system of claim 21, wherein the processor and memory device being further operable for: selectively redefining the subpicture areas of the picture image.
 28. The graphics display system of claim 27, wherein the processor and memory device being further operable for: initially receiving a picture scheme for the picture image defining the subpicture areas within the levels; wherein the selectively redefining comprises: extracting placed subpicture elements; receiving a new picture scheme for a new picture image; and repeating the selecting a subpicture element, identifying a subpicture area, placing the image data, identifying overlapping subpicture areas and placing one or more subpicture elements for each of the extracted subpicture elements.
 29. The graphics display system of claim 21, wherein the processor and memory device being further operable for: identifying the overlapping subpicture area capable of receiving the greatest amount of image data from the identified subpicture area; and upon a determination that the amount of image data in the identified subpicture area less the greatest amount of image data exceeds a predetermined minimum amount following the step of placing, redefining the subpicture areas of the picture image. 